<template>
  <div class="user-info">
    <!-- 个人信息 -->
    <el-form label-width="220px">
      <!--手机 -->

      <el-form-item label="手机">
      <el-input
          v-model="userInfo.mobile"
          style="width:220px"
        />
      </el-form-item>

      <!-- 工号 入职时间 -->

      <el-form-item label="入职时间">
        <el-date-picker
          v-model="userInfo.timeOfEntry"
          type="date"
          class="inputW"
          value-format="yyyy-MM-dd"
        />
      </el-form-item>

      <!-- 员工照片 -->

      <el-form-item label="员工头像">
        <!-- 放置上传图片 -->
         <!-- v-model定义在自己定义的组件
        实现的效果是：
      1. 初始显示图片：如果userInfo.staffPhoto 有值，就显示图示
      2. 修改：用户上传了新的图片之后，把新的地址保存userInfo.staffPhoto
    -->
        <UploadImg v-model="userInfo.staffPhoto" />
        <!-- <UploadImg @input="新值=>保存到staffPhoto" :value="userInfo.staffPhoto" -->
      </el-form-item>

      <!-- 保存个人信息 -->
      <el-form-item>
        <el-button type="primary" @click="hSave">保存更新</el-button>
        <el-button @click="$router.back()">返回</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>
<script>

import { getUserDetailById} from '@/api/user.js'
import { saveUserDetailById } from '@/api/employees'
export default {
  data() {
    return {
      userId: this.$route.query.id,
      userInfo: {
        mobile: '13612345678',
        timeOfEntry: '',
        staffPhoto: ''
      }
    }
  },
  created() {
    this.loadUserDetailById()
  },

  methods: {
    async loadUserDetailById() {
        const id = await getUserDetailById(this.$route.query.id)
        if (!id) {
        return
      }
      console.log('res.data', id.data)
        this.userInfo = id.data
    },
    async doSave() {
        const res = await saveUserDetailById(this.userInfo)
        console.log('保存个人信息之后的结果是', res)
        // 1. 提示
        this.$message.success('保存成功')
        // 2. 回到列表页
        this.$router.back()
    },
    hSave() {
        this.doSave()
    }
  }
  }

</script>

<style scoped lang="scss">
  .user-info{
    padding-top:20px;
  }
</style>